/**
 * @Project : algorithm-learning
 * @Author : Ruoyu Wang
 * @User : Momenta
 * @DateTime : 2024/3/23 13:49
 */

//小红有一棵有根树，1号节点为根节点，初始时所有节点都是黑色的。
//小红可以选择一些节点，将这些节点染成红色，但必须保证染色后每一棵子树上红色节点的个数不为3的倍数。
//小红想让你构造一种可行的染色方案，如果有多种方案，你可以输出任意一种。
//
//输入描述
//  第一行输入一个整数n(1<=n<=10^5)表示树节点个数。
//  接下来n-1行，每行输入两个整数u,v(1<=u,v<=n)表示树上的边。
//输出描述
//  输出一个长度为n的字符串表示答案，
//  第i个字符为'R'说明将第i个点染成红色，第i个字符为'B'说明第i个节点不染色（保持黑色）。
//
//示例1
//输入
//3
//1 2
//2 3
//输出
//BRR
//说明
//  染红第2、3个节点。

#include <cstdio>
#include <iostream>
#include "vector"

using namespace std;

const int N = 1e5 + 10;

vector<int> g[N];
char color[N];

int dfs(int node, int f) {
    int red = 0;
    for (int c: g[node]) {
        if (c != f) {
            red += dfs(c, node);
        }
    }
    if (red % 3 != 2) {
        color[node] = 'R';
        red++;
    }
    return red;
}

int main() {
    int n;
    scanf("%d", &n);

    for (int i = 0; i < n - 1; i++) {
        int u, v;
        cin >> u >> v;
        g[u].push_back(v);
        g[v].push_back(u);
    }

    for (int i = 0; i < n; i++) {
        color[i] = 'B';
    }

    dfs(1, -1);

    for (int i = 1; i <= n; i++) {
        printf("%c", color[i]);
    }

    return 0;
}